home *** CD-ROM | disk | FTP | other *** search
/ Czech Logic, Card & Gambling Games / Logické hry.iso / hry / Fish Fillets / script / tank / code.lua next >
Encoding:
Text File  |  2005-07-16  |  3.4 KB  |  106 lines

  1.  
  2. -- -----------------------------------------------------------------
  3. -- Init
  4. -- -----------------------------------------------------------------
  5. local function prog_init()
  6.     initModels()
  7.     sound_playMusic("music/rybky09.ogg")
  8.     local pokus = getRestartCount()
  9.  
  10.  
  11.     -- -------------------------------------------------------------
  12.     local function prog_init_room()
  13.         local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
  14.  
  15.         switch(pokus){
  16.             [1] = function()
  17.                 room.uvod = pokus
  18.             end,
  19.             [2] = function()
  20.                 room.uvod = pokus
  21.             end,
  22.             default = function()
  23.                 room.uvod = random(pokus)
  24.             end,
  25.         }
  26.         room.omunici = 0
  27.         room.ozebriku = random(3)
  28.         room.otanku = random(1000 * pokus) + 1000
  29.  
  30.         return function()
  31.             if isReady(small) and isReady(big) and no_dialog() then
  32.                 if room.otanku > 0 then
  33.                     room.otanku = room.otanku - 1
  34.                 end
  35.                 if room.uvod > 0 then
  36.                     switch(room.uvod){
  37.                         [1] = function()
  38.                             if pokus == 1 or random(100) < 30 then
  39.                                 addm(10, "sv-m-pomohli")
  40.                             end
  41.                             addv(5 + random(10), "sv-v-bezsneku")
  42.                             addm(5, "sv-m-utecha")
  43.                         end,
  44.                         [2] = function()
  45.                             addv(30 + random(70), "sv-v-chtel")
  46.                             addm(5, "sv-m-doscasu")
  47.                         end,
  48.                     }
  49.                     room.uvod = 0
  50.                 elseif room.otanku == 0 then
  51.                     room.otanku = -1
  52.                     addm(30, "sv-m-tank")
  53.                     addv(5, "sv-v-obojzivelny")
  54.                     addm(5, "sv-m-kecy")
  55.                     addv(0, "sv-v-proc")
  56.                     addv(random(40) + 20, "sv-v-potopena")
  57.                     addm(5, "sv-m-pravdepodob")
  58.                 elseif room.omunici == 0 and random(100) < 10 and (dist(small, mun1) <= 1 or dist(small, mun2) <= 1 or dist(small, mun3) <= 1) then
  59.                     room.omunici = 1
  60.                     addm(random(20), "sv-m-munice")
  61.                     addv(5, "sv-v-nevim")
  62.                 elseif room.ozebriku == 0 and dist(big, zebr) <= 2 and random(100) < 10 then
  63.                     room.ozebriku = 1
  64.                     addv(10, "sv-v-zebrik")
  65.                     addm(6, "sv-m-ven")
  66.                     addv(4, "sv-v-ucpat")
  67.                 end
  68.             end
  69.         end
  70.     end
  71.  
  72.     -- -------------------------------------------------------------
  73.     local function prog_init_zebr()
  74.         return function()
  75.             if zebr.Y < zebr.YStart then
  76.                 room.ozebriku = 1
  77.             end
  78.         end
  79.     end
  80.  
  81.     -- --------------------
  82.     local update_table = {}
  83.     local subinit
  84.     subinit = prog_init_room()
  85.     if subinit then
  86.         table.insert(update_table, subinit)
  87.     end
  88.     subinit = prog_init_zebr()
  89.     if subinit then
  90.         table.insert(update_table, subinit)
  91.     end
  92.     return update_table
  93. end
  94. local update_table = prog_init()
  95.  
  96.  
  97. -- -----------------------------------------------------------------
  98. -- Update
  99. -- -----------------------------------------------------------------
  100. function prog_update()
  101.     for key, subupdate in pairs(update_table) do
  102.         subupdate()
  103.     end
  104. end
  105.  
  106.